package io;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;

/**
 * @author Huangjin
 * @version 1.0
 * describe:
 * @date 2023/3/7 11:30
 */
public class FISDemo {
    public static void main(String[] args) throws IOException {
        /*
            FileInputStream(String filename)
            FileInputStream(File file)

         */
        FileInputStream fis = new FileInputStream("fos.dat");
        /*
            InputStream超类上定义了读取一个字节的方法：（所有的字节输入流都具有该方法）
            int read():读取1个字节，并以int形式返回
            1）返回的int值对应的2进制中只有“低八位”是有效的，高位24为全部补0
            2）

            第一次调用：int d = fis.read();//读取第一个字节
            fos.dat的数据：
            00000001 00000010 文件末尾
            ^^^^^^^^
            读取的字节
            此时变量b对应的2进制样子：
            000000000 00000000 0000000 000001
            |---------补充24个0--------|读取的字节

            第二次调用：d = fis.read();//读取了第2个字节
            fos.dat的数据：
                00000001 00000010 文件末尾
                         ^^^^^^^^
                         读取的字节
             此时变量d对应的2进制样子：00000000 0000000 0000000 00010
                                   |------补充24个0--------| 读取的字节

             第三次调用：d = fis.read();//读取了文件末尾
             fos.dat的数据：
                00000001 00000010 文件末尾
                                  ^^^^^^^
                                  没有字节了
             此时变量d对应的2进制样子：111111111 1111111 1111111 1111111
         */
        int d = fis.read();
        System.out.println(d);

        d = fis.read();
        System.out.println(d);

        fis.close();


    }
}
